In modern switched telecommunications systems (in particular, modern Public Switched Telephone Networks (PSTNs) and Public Land Mobile Networks (PLMNs)) it has become common practice to provide two related but separate network infrastructures: a bearer or transmission network for carrying end-user voice and data traffic, and a signaling network for controlling the setup and release of bearer channels through the bearer network in accordance with control signals transferred through the signaling network (sometimes known as out-of-band signaling). In practice, such signaling networks comprise high-speed computers interconnected by signaling links; computer programs control the computers to provide a set of operational and signaling functions in accordance with a standardised protocol.
One example of such a signaling protocol is the Signaling System No. 7 (SS7), whether as specified by the CCITT, ANSI, ETSI (for GSM), Bellcore or similar body, such a network being herein referred to as an SS7 network. Another known signaling protocol is the General Packet Radio Service Tunneling Protocol (GTP) used in the General Packet Radio Service (GPRS), such as is used for GSM data traffic. As is known in connection with such networks, signaling information is passed over the signaling links to carry out particular signaling conversation, or transaction. Any particular transaction requires a number of messages to be sent between two nodes in the network (endpoints of the transaction). A transaction can either carry out a procedure, such as to create a context identifier, or for hand-off control, or can request information, for example, to provide capability information. A context is a unique transaction between two end nodes that can be identified by a context identifier included in all messages relating to that transaction.
Both the SS7 and the GPRS signaling protocols belong to a class of signaling protocols characterised as consisting of a number of call models (transactions) built from a subset of messages defined by the protocol. Some of the signaling protocols in this class can be distinguished in that the messages in a call model utilise a single transactional key to uniquely identify a message belonging to the same context between the end points involved in the transaction. For example in the single key SS7 protocol the key is often a machine generated 32 bit number, whereas the GPRS Tunneling Protocol (GTP) uses the GSM IMSI identifier plus one further digit to provide some 16 possible different contexts for a single IMSI. Of course, individual protocols have different rules for re-transmission of messages during a transaction and the conditions that must be met in order to declare a transaction as being completed successfully, completed with an error, or timed out (abandoned).
GPRS is a service that provides wireless packet data access to mobile GSM (Global System for Mobile Telecommunications) users. GPRS provides the first implementation of a packet switching technology within GSM, which is, itself, a circuit switched technology. GPRS is also an important precursor for 3G (3rd Generation Mobile Technology) as it implements the packet switched core required for UMTS (Universal Mobile Telecommunications System) networks. Data rates in the order of 115 kb/s can be supported.
A reference model for a GPRS network, as known in the art, is depicted in FIG. 1. GPRS allows a Mobile Station (MS) 11 to send and receive data in an end-to-end “packet transfer” mode, without using any network resources in “circuit-switched” mode. This allows for autonomous operation of GPRS and best fits the bursty traffic characteristics. Packet routing is supported by definition of a new logical network node called a GPRS support node (GSN). The GSN is basically a packet router with additional mobility management features and connects with various network elements through standardized interfaces. The GSN node that acts as a physical interface to external Public Data Networks (PDN's) 20, such as operator networks, corporate networks, or the Internet, is known as a Gateway GSN (GGSN) 21. The GSN node that connects with a BSC (Base Station Controller) 14 and directly handles packet delivery to and from MS's 11 is known as a Serving GSN (SGSN) 15.
Each SGSN 15 is responsible for the delivery of packets to the MS's 11 within its service area 10. The BSC 14 is the network entity controlling a number of BTS's (Base Transceiver Stations) 13, which are the network entities which communicate with the MS 11 via an antenna base station (not shown in FIG. 1).
An SGSN 15 provides a connection point for subscribers when they want to access services provided by the GPRS network 22. The SGSN 15 downloads the capabilities of the connecting MS 11 from a HLR (Home Location Register) 17, along with information such as security, billing and authentication etc. The HLR 17 is a database within the GSM network 22 which stores all the subscriber-specific data. An IMSI (International Mobile Subscriber Identity) is used to uniquely identify each MS 11 in the GPRS network 22.
Before an MS 11 is capable of using a GPRS service, it must attach to an SGSN 15. Effectively, this attachment corresponds to the establishment of a logical link between the MS 11 and its SGSN 15. The SGSN 15 encapsulates the data packets from the MS 11 and routes them to the appropriate GGSN 21, where they are forwarded to a fixed host inside the correct PDN 20. Specific routing policies are applied inside this PDN 20 to send the packets to the corresponding fixed host; these are known as “routing contexts”. After attachment, one or more routing contexts for one or more network protocols can be negotiated with the SGSN 15.
Packets coming from a corresponding fixed host to an MS 11 are first routed to the GGSN 21 through the PDN 20, based on the examination of the destination address. The GGSN 21 checks the routing context associated with this destination address and determines the address of the SGSN 15 currently serving the addressed MS 11. Subsequently, the original data packet is encapsulated into another packet (this procedure is called tunneling), which is forwarded to the SGSN 15 and ultimately delivered to the correct MS 11.
In order to verify that a given MS 11 is allowed to use a network protocol, the HLR 17 is queried. Among other things, the subscription profile found in the HLR 17 includes the matching GGSN 21 address. If access is permitted, the GGSN 21 is requested to update the routing context (i.e. the SGSN 15 address and tunneling information) accordingly.
The GPRS backbone network (as defined by links Gn, Gp, and Gi in FIG. 1) is a private IP (Internet Protocol) network. The IP addresses used in this part of the backbone network are selected by the GPRS operator and they are not known outside the backbone network.
Also shown in FIG. 1 is an MSC (Mobile Switching Centre) 16, which is the switching centre of a mobile phone network, a GRX (GPRS Roaming Exchange) 18, which is a point of connection to other GPRS networks, as well as the various links having reference names, as listed below:                A is an interface between the BSC 14 and the MSC 16;        Abis is an interface between the BSC 14 and the BTS 13 (this can be proprietary if the BSC and the BTS are from the same NEM (Network Equipment Manufacturer), which is often the case);        Gb is an interface between the GGSN 21 and the BSC 14, which is likely to be implemented using Frame Relay;        Gi is an interface between the GGSN 21 and the PDNs 20, which is likely to be implemented using IP;        Gn is an interface between the GGSN 21 and the SGSN 15, which is likely to be implemented using IP;        Gp is an interface between the GGSN/SGSN 21, 15 and the GRX 18, which is likely to be implemented using IP;        Gr is an interface between the SGSN 15 and the HLR 17, which is likely to be implemented using SS7 (Signaling System 7); and        Gs is an interface between the SGSN 15 and the MSC 16.        
A transaction, as known in the art, is a related exchange between two network elements, for example a transaction could contain all packets that constitute a “GPRS location update” (which occurs when a mobile subscriber moves from one cell to another), or all the messages to do with a MS 11 attaching to the packet-switched network (such as GPRS Attach Request, Attach complete, Create PDP Context Request, Create PDP Context Complete etc). A transaction builder, also as known in the art, uses knowledge of the protocols used in the network (such as the GPRS protocols) to build a plurality of individual traffic messages into a complete transaction.
In order to analyse a network's operation to determine whether it is operating efficiently, it is known to analyse individual messages to determine the quality of service according to whether the messages are delayed, require retransmission, etc. However, in order to fully determine the health of a network, it is necessary not only to consider each individual message, but also to look at a complete conversation, or transaction, which requires that all context information be available for the analysis. For example, although within a context each of the messages may be transmitted efficiently and correctly, one or more of the messages, while correct in themselves, may mean that the transaction has failed if the message states that, for example, the password is incorrect, or that an address was entered incorrectly or that a node was temporarily unavailable. In such cases, knowledge of the complete transaction that failed may allow the failures to be analysed so that the functionality of the network can be improved.
As is known in connection with SS7 networks, signaling information is passed over the signaling links. In particular, the signaling information is used by a CDR Builder to generate a Call Detail Record (CDR) which can later be analyzed. For example, the CDRs can be analyzed by reference to a particular customer of a telecommunications company (telco) operating the SS7 system, or certain types of data can be mined from Call Detail Records maintained by telcos in billing databases, for example various types of commercial information.
The CDRs may be generated by an apparatus, such as the product developed by Agilent Technologies and known as “acceSS7”. This apparatus consists of a CDR Builder, a CDR Agent and a Data Management Component (DMC). The CDR Builder monitors the signaling channels of the SS7 network and generates the CDRs, which are then passed via the CDR Agent to the DMC, where they are processed and correlated to provide a database of the records that can be viewed by interested parties, for example, telcos.
Service Usage Records (SUR) may be generated in respect of data or other types of call, rather than CDRs and both SURs and CDRs are sometimes known collectively as Transaction Data Records (TDRs).
As will be clear from the above discussion, however, generation of TDRs for analysis is not limited to SS7 systems and also occurs on other networks, such as UMTS. In cases where the messages on the network being monitored may be formatted in a variety of different protocols, the TDR Builder, not only has to monitor the messages, but must be able to differentiate between different protocols in order to generate the TDRs. Thus, in some cases, such an entity would include (and may be called) a Protocol Analyzer.
Nevertheless, TDRs do not always include all the information that may be desirable for a network operator to be able to determine how customers are using the network and the services in order to be able to improve them. For example, service providers would often like to know which handset types, as opposed to subscriber identity, and what content type their customers are most frequently using. Handset type is provided by the International Mobile Equipment Identity (IMEI) associated with each handset, but the IMEI information is not available over the IP user links forming the GPRS backbone. It would therefore be useful, if TDRs could be enhanced to provide at least handset type information.